package com.ruoyi.labdata.domain;

import java.util.Date;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.entity.SysUser;

/**
 * 实验室工作人员对象 lab_employee
 * 
 * @author winner pan
 * @date 2022-02-04
 */
public class LabEmployee extends SysUser {
	private static final long serialVersionUID = 1L;

	/** 主键 */
	private Long employeeId;

	private Long orgId;
	/*
	 * 用户查询选择使用.
	 */
	private Long roleId;
	/***
	 * 用户查询选择使用.
	 */
	private Long postId;

	/**
	 * 已经选中的用户Id.
	 */
	private String checkedUserIds;
	
	private String checkedOrgIds;
	
	public String[] getCheckOrgList(){
		if(this.checkedOrgIds == null){
			return null;
		}
		return this.checkedOrgIds.split(",");
	}
	

	public void setCheckedOrgIds(String checkedOrgIds) {
		this.checkedOrgIds = checkedOrgIds;
	}


	public String[] getCheckedList() {
		if (this.checkedUserIds == null) {
			return null;
		}
		return this.checkedUserIds.split(",");
	}

	public String getCheckedUserIds() {
		return checkedUserIds;
	}

	public void setCheckedUserIds(String checkedUserIds) {
		this.checkedUserIds = checkedUserIds;
	}

	public Long getRoleId() {
		return roleId;
	}

	public void setRoleId(Long roleId) {
		this.roleId = roleId;
	}

	public Long getPostId() {
		return postId;
	}

	public void setPostId(Long postId) {
		this.postId = postId;
	}

	private String orgName;

	public String getOrgName() {
		return orgName;
	}

	public void setOrgName(String orgName) {
		this.orgName = orgName;
	}

	/** 任职类型 */
	private Long hireTypeOpt;

	/** 工号 */
	@Excel(name = "工号")
	private String employeeNo;

	/** 姓名 */
	@Excel(name = "姓名")
	private String employeeName;

	/** 任职起始日期 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "任职起始日期", width = 30, dateFormat = "yyyy-MM-dd")
	private Date hireStartDate;

	private Date hireEndDate;

	public Date getHireEndDate() {
		return hireEndDate;
	}

	public void setHireEndDate(Date hireEndDate) {
		this.hireEndDate = hireEndDate;
	}

	/** 任职状态 */
	@Excel(name = "任职状态")
	private Long hireStatusOpt;

	/** 任职批文号 */
	@Excel(name = "任职批文号 ")
	private String approvalNo;

	private List<LabFile> images;

	public List<LabFile> getImages() {
		return images;
	}

	public void setImages(List<LabFile> images) {
		this.images = images;
	}

	/***
	 * 职称
	 */
	private String title;

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public Long getEmployeeId() {
		return employeeId;
	}

	public void setOrgId(Long orgId) {
		this.orgId = orgId;
		if(super.getUserId()==null){
			super.setDeptId(orgId);
		}
	}

	public Long getOrgId() {
		return orgId;
	}

	public void setHireTypeOpt(Long hireTypeOpt) {
		this.hireTypeOpt = hireTypeOpt;
	}

	public Long getHireTypeOpt() {
		return hireTypeOpt;
	}

	public void setEmployeeNo(String employeeNo) {
		this.employeeNo = employeeNo;
		super.setUserName(employeeNo);
	}

	public String getEmployeeNo() {
		return employeeNo;
	}

	public void setEmployeeName(String employeeName) {
		this.employeeName = employeeName;
		super.setNickName(employeeName);
	}

	public String getEmployeeName() {
		return employeeName;
	}

	public void setHireStartDate(Date hireStartDate) {
		this.hireStartDate = hireStartDate;
	}

	public Date getHireStartDate() {
		return hireStartDate;
	}

	public void setHireStatusOpt(Long hireStatusOpt) {
		this.hireStatusOpt = hireStatusOpt;
	}

	public Long getHireStatusOpt() {
		return hireStatusOpt;
	}

	public void setApprovalNo(String approvalNo) {
		this.approvalNo = approvalNo;
	}

	public String getApprovalNo() {
		return approvalNo;
	}

	public void setEmployeeId(Long employeeId) {
		this.employeeId = employeeId;
	}
	
	/** 出生月份 */
    @Excel(name = "出生月份")
    private String birthday;

    /** 文化程度 */
    @Excel(name = "文化程度")
    private String education;

    /** 所学专业 */
    @Excel(name = "所学专业")
    private String majorStudied;

    /** 专家类别 */
    @Excel(name = "专家类别")
    private String expertAspect;

    /** 学历教育时间 */
    @Excel(name = "学历教育时间")
    private String academicEducation;

    /** 非学历教育时间 */
    @Excel(name = "非学历教育时间")
    private String nonDegreeEducation;

    /** 国外学历教育时间 */
    @Excel(name = "国外学历教育时间")
    private String outerAcademicEdu;

    /** 国外非学历教育时间 */
    @Excel(name = "国外非学历教育时间")
    private String outerNonDegreeEdu;
    
    private String remark;
    
    private String superName;
    


	public String getSuperName() {
		return superName;
	}


	public void setSuperName(String superName) {
		this.superName = superName;
	}


	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getBirthday() {
		return birthday;
	}

	public void setBirthday(String birthday) {
		this.birthday = birthday;
	}

	public String getEducation() {
		return education;
	}

	public void setEducation(String education) {
		this.education = education;
	}

	public String getMajorStudied() {
		return majorStudied;
	}

	public void setMajorStudied(String majorStudied) {
		this.majorStudied = majorStudied;
	}

	public String getExpertAspect() {
		return expertAspect;
	}

	public void setExpertAspect(String expertAspect) {
		this.expertAspect = expertAspect;
	}

	public String getAcademicEducation() {
		return academicEducation;
	}

	public void setAcademicEducation(String academicEducation) {
		this.academicEducation = academicEducation;
	}

	public String getNonDegreeEducation() {
		return nonDegreeEducation;
	}

	public void setNonDegreeEducation(String nonDegreeEducation) {
		this.nonDegreeEducation = nonDegreeEducation;
	}

	public String getOuterAcademicEdu() {
		return outerAcademicEdu;
	}

	public void setOuterAcademicEdu(String outerAcademicEdu) {
		this.outerAcademicEdu = outerAcademicEdu;
	}

	public String getOuterNonDegreeEdu() {
		return outerNonDegreeEdu;
	}

	public void setOuterNonDegreeEdu(String outerNonDegreeEdu) {
		this.outerNonDegreeEdu = outerNonDegreeEdu;
	}

	@Override
	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("employeeId", getEmployeeId())
				.append("orgId", getOrgId()).append("hireTypeOpt", getHireTypeOpt())
				.append("employeeNo", getEmployeeNo()).append("employeeName", getEmployeeName())
				.append("hireStartDate", getHireStartDate()).append("hireStatusOpt", getHireStatusOpt())
				.append("approvalNo", getApprovalNo()).toString();
	}
}